/**
 * Created by zengyx on 16/12/17.
 */

import send from './http'

export default {
  /**
   * 更新在线客服的忙碌开关状态
   * @param data {status: 'close'}
   * @returns {*}
   */
  updateWebchatAutoClaimStatus (data) {
    let req = {
      data: data,
      action: 'app.webchat.updateAutoClaimWebchatSessionStatus',
      errMsg: 'operationFail'
    }
    return send.fetch(req, 'post')
  },

  /**
   * 刷新所属技能组下所有的待处理数,以及当前处理的数
   * @returns {openNum:0, todoNum:0}
   */
  refreshMenuNum () {
    let req = {
      data: {},
      action: 'app.webchat.refreshMenuNum'
    }
    return send.fetch(req, 'post', true)
  },

  /**
   * 刷新所属技能组下所有的待处理数,以及当前处理的数
   * @param {String} data._id 会话id
   * @param {String} data.sid 访客id
   */
  popupWebchat (data) {
    let req = {
      data,
      action: 'app.popup.popupWebchat'
    }
    return send.fetch(req, 'post')
  },

  /**
   * 定位客户
   * @param {String} data.customerId 客户id
   * @param {String} data.callId
   * @param {String} data.custName 客户名称
   */
  locationCustomer (data) {
    let req = {
      data,
      action: 'app.webchat.locationCustomer'
    }
    return send.fetch(req, 'post')
  },

  /**
   * 解除客户绑定
   * @param {String} data.customerId 客户id
   */
  deleteCustomerImRelation (data) {
    let req = {
      data,
      action: 'app.webchat.deleteCustomerImRelation'
    }
    return send.fetch(req, 'post')
  },

  /**
   * 座席接受到消息
   * @param {String} data._id 会话id
   */
  dealMsg (data) {
    let req = {
      data,
      action: 'app.webchat.dealMsg'
    }
    return send.fetch(req, 'post')
  },

  /**
   * 座席回复消息
   * @param {*} 消息内容
   */
  replyMsg (data) {
    let req = {
      data,
      action: 'app.webchat.replyMsg'
    }
    return send.fetch(req, 'post')
  },

  /**
   * 点击更多历史消息时查询更多消息历史
   * @param {String} data.sid 会话id
   * @param {String} data.dateTime 时间
   * @param {String} data.page 页码
   * @param {String} data.limit 每页多少条
   */
  queryHistory (data) {
    let req = {
      data,
      action: 'app.webchat.queryHistory'
    }
    return send.fetch(req, 'post')
  },

  /**
   * 滚动鼠标时获取更多聊天记录:
   * @param {String} data.sessionId 会话
   * @param {String} data.page
   * @param {String} data.limit
   */
  queryUserHistory (data) {
    let req = {
      data,
      action: 'app.webchat.queryUserHistory'
    }
    return send.fetch(req, 'post', true)
  },
  /**
   * 查询聊天记录内容：
   * @param {String} data.sessionId 会话Id
   * @param {String} data.sid 访客id，必传
   * @param {String} data.when 时间戳字段，后端按此时间往前查找
   * @param {String} data.limit 消息条数
   * @param {Boolean} data.whenGt 查询方向，为true即为从此时间戳往现在查，用于断线重连后自动加载，不传就是正常往以前查询
   */
  queryMessageHistory (data) {
    let req = {
      data,
      action: 'app.webchat.newQueryHistory'
    }
    return send.fetch(req, 'post', true)
  },

  /**
   * 查询处理中或全部IM会话数据:
   * @param {String} data.submenu 菜单类型
   * @param {String} data.laterProcess 是否稍后处理
   * @param {*}  查询条件
   */
  queryWebchatSession (data) {
    let req = {
      data,
      action: 'app.webchat.queryWebchatSession'
    }
    return send.fetch(req, 'post')
  },

  /**
   * 查询在线咨询中的机器人会话:
   * @param {String} data.status robot
   * @param {*}  查询条件
   */
  queryWebchatSessionByStatus (data) {
    let req = {
      data,
      action: 'app.webchat.queryWebchatSessionByStatus'
    }
    return send.fetch(req, 'post')
  },

  /**
   * 查询在线咨询中的机器人会话:
   * @param {String} data.status robot
   * @param {*}  查询条件
   */
  robotclaimSession (data) {
    let req = {
      data,
      action: 'app.webchat.claimSession'
    }
    return send.fetch(req, 'post')
  },
  queueclaimSession (data) {
    let req = {
      data,
      action: 'app.webchat.claimQueueSession'
    }
    return send.fetch(req, 'post')
  },
  /**
   * 导出全部中有处理类型的会话
   * @param {String} data.submenu 菜单类型
   * @param {*}  查询条件
   */
  exportWebchat (data) {
    let req = {
      data,
      action: 'app.excel.exportXls'
    }
    return send.fetch(req, 'post')
  },

  /**
   * 导出全部中有处理类型的会话的内容
   * @param {String} data.submenu 菜单类型
   * @param {*}  查询条件
   */
  exportWebchatContent (data) {
    let req = {
      data,
      action: 'app.webchat.addWebChatExportTask'
    }
    return send.fetch(req, 'post')
  },

  /**
   * 提醒访客座席正在输入中
   * @param {String} data.sid 会话id
   * @param {String} data.timestamp 时间戳
   */
  typeNotice (data) {
    let req = {
      data,
      action: 'app.webchat.typeNotice'
    }
    return send.fetch(req, 'post', true)
  },

  /**
   * 会话转接给指定座席或技能组
   * @param {String} data._id
   * @param {String} data.toUser 转接到座席id
   * @param {String} data.toUserName 座席名称
   * @param {String} data.sid 会话id
   * @param {String} data.queueId 转入技能组id
   * @param {String} data.toPeer 转入技能组id
   */
  redirectWebchatSession (data) {
    let req = {
      data,
      action: 'app.webchat.redirectWebchatSession'
    }
    return send.fetch(req, 'post')
  },
  /**
   * 会话转接取消
   * @param {*} data._id 当前会话id
   * @param {*} data.redirectToUser 要转接的会话id
   */
  redirectSessionCancel (data) {
    let req = {
      data,
      action: 'app.webchat.redirectSessionCancel'
    }
    return send.fetch(req, 'post')
  },
  /**
   * 会话批量转接给指定座席或技能组
   * @param {String} data._id
   * @param {String} data.toUser 转接到座席id
   * @param {String} data.toUserName 座席名称
   * @param {String} data.sid 会话id
   * @param {String} data.queueId 转入技能组id
   * @param {String} data.toPeer 转入技能组id
   */
  batchRedirectWebchatSession (data) {
    let req = {
      data,
      action: 'app.webchat.batchRedirectWebchatSession'
    }
    return send.fetch(req, 'post')
  },
  /**
   * 抢接座席会话
   * @param {String} data._id
   * @param {String} data.toUser 发起抢接的座席id
   * @param {String} data.toUserName 抢接座席名称
   * @param {String} data.sid 会话id
   * @param {String} data.currUser 被抢接的座席id
   */
  grabWebchatSession (data) {
    let req = {
      data,
      action: 'app.webchat.grabWebchatSession'
    }
    return send.fetch(req, 'post')
  },

  /**
   * 结束会话
   * @param {String} data._id 会话id
   * @param {String} data.sid 访客id
   * @param {String} data.finishReason 结束类型
   * @param {String} data.finishKey 结束会话类型id
   * @param {String} data.remark 备注
   */
  finishWebchatSession (data) {
    let req = {
      data,
      action: 'app.webchat.finishWebchatSession'
    }
    return send.fetch(req, 'post')
  },

  /**
   * 在线咨询全部中结束会话
   * @param {String} data._id 会话id
   * @param {String} data.sid 访客id
   * @param {String} data.finishReason 结束类型
   * @param {String} data.finishKey 结束会话类型id
   * @param {String} data.remark 备注
   */
  finishUndealWebchatSession (data) {
    let req = {
      data,
      action: 'app.webchat.finishUndealWebchatSession'
    }
    return send.fetch(req, 'post')
  },

  /**
   * 更新会话的备注信息
   * @param {String} data.accessId 接入号
   * @param {String} data.sid 访客id
   * @param {String} data.content 备注内容
   */
  updateWebchatSessionRemark (data) {
    let req = {
      data,
      action: 'app.webchat.updateWebchatSessionRemarkNew'
    }
    return send.fetch(req, 'post', true)
  },
  /**
   * 会话转接拒绝确认
   * @param {Object} redirectData
   * @param {Object} redirectSession
   * @param {Object} redirectResponse 'accept|refuse'
   */
  redirectSessionCallback (data) {
    let req = {
      data,
      action: 'app.webchat.redirectSessionCallback'
    }
    return send.fetch(req, 'post', true)
  },
  /**
   * 获取转接中的没有剩余的转接列表
   */
  getRedirectRemind (data) {
    let req = {
      data,
      action: 'app.webchat.getRedirectRemind'
    }
    return send.fetch(req, 'post', true)
  },
  /**
   * 查询全部自定义快捷回复语
   * @param {String} data.moduleType "webchat"/"email"
   */
  getQuickReplyList (data) {
    let req = {
      data,
      action: 'app.webchat.getQuickReplyList'
    }
    return send.fetch(req, 'post', true)
  },
  /**
   * 保存邮件模块自定义快捷回复(只有邮件在用，在线模块已经使用新的接口)
   * @param {String} data.moduleType "email"
   */
  saveQuickReply (data) {
    let req = {
      data,
      action: 'app.webchat.saveQuickReply'
    }
    return send.fetch(req, 'post', true)
  },
  /**
   * 在线咨询查询全部自定义快捷回复语
   * @param {String} data.moduleType "webchat"/"email"
   */
  getQuickReplyByCategory (data) {
    if (data.categoryId === '') {
      data.categoryId = 'uncategorized'
    }
    let req = {
      data,
      action: 'app.webchat.getQuickReplyByCategory'
    }
    return send.fetch(req, 'post', true)
  },
  /**
   * 快捷回复输入联系时,查询在线咨询全部回复语(自定义+系统)
   * @param {String} data.moduleType "webchat"
   */
  getAllQuickReplyListNew(data) {
    const hiddenLoading = data.hiddenLoading || false
    delete data.hiddenLoading
    let req = {
      data,
      action: 'app.webchat.getAllQuickReplyListNew'
    }
    return send.fetch(req, 'post', hiddenLoading)
  },
  /**
   * 查询在线咨询自定义快捷回复的分类标签
   * @param {String} data.moduleType "webchat"/"email"
   */
  newQueryAgentQuickReplyTag (data) {
    let req = {
      data,
      action: 'config.channel.newQueryAgentQuickReplyTag'
    }
    return send.fetch(req, 'post', true)
  },
  /**
   * 添加在线咨询自定义快捷回复的分类标签
   * @param {String} data.name "test"
   * @param {String} data.moduleType "webchat"
   * @param {Number} data.sort 0
   */
  newAddAgentQuickReplyTag (data) {
    let req = {
      data,
      action: 'config.channel.newAddAgentQuickReplyTag'
    }
    return send.fetch(req, 'post', true)
  },
  /**
   * 更新在线咨询自定义快捷回复的分类标签信息
   * @param {String} data._id "test"
   * @param {String} data.moduleType "webchat"
   * @param {String} data.name "test2"
   * @param {Number} data.sort 0
   */
  newUpdateAgentQuickReplyTag (data) {
    let req = {
      data,
      action: 'config.channel.newUpdateAgentQuickReplyTag'
    }
    return send.fetch(req, 'post', true)
  },
  /**
   * 删除在线咨询自定义快捷回复的分类标签信息
   * @param {String} data._id "test"
   * @param {String} data.moduleType "webchat"
   * @param {String} data.name "test2"
   * @param {Number} data.sort 0
   */
  newDeleteAgentQuickReplyTag  (data) {
    let req = {
      data,
      action: 'config.channel.newDeleteAgentQuickReplyTag'
    }
    return send.fetch(req, 'post', true)
  },
  /**
   * 在线咨询自定义快捷回复变更分类
   * @param {String} data.moduleType "webchat"/"email"
   * @param {Array} data.categories  [{name: ""}]
   */
  changeCategoryOfQuickReplies (data) {
    let req = {
      data,
      action: 'app.webchat.changeCategoryOfQuickReplies'
    }
    return send.fetch(req, 'post', true)
  },
  /**
   * 搜索当前分类下的自定义快捷回复
   * @param {String} data.moduleType "webchat"/"email"
   * @param {Array} data.categories  [{name: ""}]
   */
  newQueryAgentQuickReply (data) {
    let req = {
      data,
      action: 'config.channel.newQueryAgentQuickReply'
    }
    return send.fetch(req, 'post', true)
  },
  /**
   * 搜索所有分类下自定义快捷回复
   * @param {String} data.moduleType "webchat"/"email"
   * @param {Array} data.categories  [{name: ""}]
   */
  queryAllAgentQuickReplyNew (data) {
    let req = {
      data,
      action: 'config.channel.queryAllAgentQuickReplyNew'
    }
    return send.fetch(req, 'post', true)
  },

  /**
   * 快捷回复输入联系时,查询全部回复语(自定义+系统)
   * @param {String} data.moduleType "email"
   */
  getAllQuickReplyList (data) {
    let req = {
      data,
      action: 'app.webchat.getAllQuickReplyList'
    }
    return send.fetch(req, 'post')
  },
  /**
   * 新增自定义快捷回复语
   * @param {String} data.content "test"
   * @param {String} data.quickContent "test"
   * @param {String} data.tagParentId ""
   * @param {String} data.moduleType "webchat"
   */
  newAddAgentQuickReply (data) {
    let req = {
      data,
      action: 'config.channel.newAddAgentQuickReply'
    }
    return send.fetch(req, 'post')
  },
  /**
   * 公共快捷回复增加引用统计
   * @param {String} data._id "test"
   */
  addCommonQuickReplyNum (data) {
    let req = {
      data,
      action: 'app.webchat.addCommonQuickReplyNum'
    }
    return send.fetch(req, 'post')
  },
  /**
   * 公共快捷回复增加引用统计
   * @param {String} data._id "test"
   */
  addAgentQuickReplyNum (data) {
    let req = {
      data,
      action: 'app.webchat.addAgentQuickReplyNum'
    }
    return send.fetch(req, 'post')
  },
  /**
   * 更新自定义快捷回复语
   * @param {String} data._id ""
   * @param {String} data.moduleType "webchat"
   * @param {String} data.content ""
   * @param {String} data.quickContent ""
   */
  newUpdateAgentQuickReply  (data) {
    let req = {
      data,
      action: 'config.channel.newUpdateAgentQuickReply'
    }
    return send.fetch(req, 'post')
  },
  /**
   * 删除自定义快捷回复语
   * @param {Array} data.ids []
   * @param {String} data.moduleType "webchat"
   */
  newDeleteAgentQuickReply (data) {
    let req = {
      data,
      action: 'config.channel.newDeleteAgentQuickReply'
    }
    return send.fetch(req, 'post')
  },

  /**
   * 查询全部系统通用快捷回复语:
   * @param {String}
   */
  queryWebChatAllTags (data) {
    let req = {
      data,
      action: 'app.webchat.queryWebChatAllTags'
    }
    return send.fetch(req, 'post')
  },

  /**
   * 查询根据标签id查询该标签下的快捷回复语（邮件和在线共用）
   * @param {String}
   */
  queryWebChatTagsById (data) {
    let req = {
      data,
      action: 'app.webchat.queryWebChatTagsById'
    }
    return send.fetch(req, 'post')
  },
  /**
   * 在线咨询右侧搜索快捷回复
   * @param {String}
   */
  newSearchQuickReply (data) {
    let req = {
      data,
      action: 'app.webchat.newSearchQuickReply'
    }
    return send.fetch(req, 'post')
  },

  /**
   * 获取会话详情信息
   * @param {String} data._id
   * @param {String} data.cust_id 客户id
   * @param {boolean} data.queryHistory
   */
  queryChatInfoById (data) {
    let req = {
      data,
      action: 'app.webchat.queryChatInfoById'
    }
    return send.fetch(req, 'post')
  },

  /**
   * 获取上传token
   * @param {String} data.scope "m7-mail-resource"
   */
  getImUptoken (data) {
    let req = {
      data,
      action: 'app.webchat.cosGetImUptoken'
    }
    return send.fetch(req, 'post')
  },

  /**
   * 邀请座席协助
   * @param {String} data._id
   * @param {String} data.invitedUser 被邀请座席id
   * @param {String} data.invitedUserName 被邀请座席名称
   * @param {String} data.sid
   */
  inviteGroupSession (data) {
    let req = {
      data,
      action: 'app.webchat.inviteGroupSession'
    }
    return send.fetch(req, 'post')
  },
  quitGroupSession (data) {
    let req = {
      data,
      action: 'app.webchat.quitGroupSession'
    }
    return send.fetch(req, 'post')
  },
  /**
   * 接受会话邀请
   * @param {String} data._id
   * @param {String} data.sid 会话sid,可以为空字符串
   * @param {String} data.toPeer 技能组编号
   */
  acceptGroupSession (data) {
    let req = {
      data,
      action: 'app.webchat.acceptGroupSession'
    }
    return send.fetch(req, 'post')
  },

  /**
   * 拒绝会话邀请
   * @param {String} data._id 会话id
   */
  refusedGroupSession (data) {
    let req = {
      data,
      action: 'app.webchat.refusedGroupSession'
    }
    return send.fetch(req, 'post')
  },

  /**
   * 取消会话邀请
   * @param {String} data._id 会话id
   */
  cancelGroupSession (data) {
    let req = {
      data,
      action: 'app.webchat.cancelGroupSession'
    }
    return send.fetch(req, 'post')
  },

  /**
   * 踢出邀请的座席
   * @param {String} data._id
   * @param {String} data.sid
   */
  kickGroupSession (data) {
    let req = {
      data,
      action: 'app.webchat.kickGroupSession'
    }
    return send.fetch(req, 'post')
  },

  /**
   * 初始登陆的时候,获取未接受的会话邀请
   * @param {}
   */
  getUndealInvitation (data) {
    let req = {
      data,
      action: 'app.webchat.getUndealInvitation'
    }
    return send.fetch(req, 'post')
  },

  /**
   * 推送满意度评价:
   * @param {String}
   */
  pushImCSRInfo (data) {
    let req = {
      data,
      action: 'app.webchat.pushImCSRInfo'
    }
    return send.fetch(req, 'post')
  },

  /**
   * 查询所有技能组:
   * @param {String}
   */
  showAllSkillGroup (data) {
    let req = {
      data,
      action: 'app.webchat.showAllSkillGroup'
    }
    return send.fetch(req, 'post')
  },

  /**
   * 查询座席待处理会话数量:
   * @param {String}
   */
  getOnlineAgentIMDealCount (data) {
    let req = {
      data,
      action: 'app.webchat.getOnlineAgentIMDealCount'
    }
    return send.fetch(req, 'post')
  },

  /**
   * 查看在线座席当前会话上线配置:
   * @param {String}
   */
  getOnlineAgentIMDealLimit (data) {
    let req = {
      data,
      action: 'app.webchat.getOnlineAgentIMDealLimit'
    }
    return send.fetch(req, 'post')
  },

  /**
   * 推送排队信息至客户端:
   * @param {String}
   */
  pushQueueNumToWebChatClients (data) {
    let req = {
      data,
      action: 'app.webchat.pushQueueNumToWebChatClients'
    }
    return send.fetch(req, 'post', true)
  },
  /**
   * 获取会话邀请会话列表
   * @param data
   */
  getSessionsByAccount (data) {
    let req = {
      data,
      action: 'page.getSessionsByAccount'
    }
    return send.fetchByUba(req, 'post', true)
  },
  /**
   * 邀请会话敏感词
   * @param data
   */
  inviteCustomersSensitiveWords (data) {
    let req = {
      data,
      action: 'app.webchat.checkIllegalWord'
    }
    return send.fetch(req, 'post')
  },
  /**
   * 获取会话邀请会话列表
   * @param data
   */
  inviteCustomers (data) {
    let req = {
      data,
      action: 'cc.inviteCustomers'
    }
    return send.fetchByUba(req, 'post', true)
  },
  /**
   * 在线咨询获取轨迹信息
   * @param data
   */
  getUbaPagesBySessionIdForWebchat (data) {
    let req = {
      data,
      action: 'page.getUbaPagesBySessionIdForWebchat'
    }
    return send.fetchByUba(req, 'post', true)
  },
  /**
   * 将访客加入黑名单
   * @param data
   */
  addBlack (data) {
    let req = {
      data,
      action: 'app.webchat.addBlack'
    }
    return send.fetch(req, 'post')
  },
  /**
   * 接受视频邀请
   * @param data
   * */
  acceptVideoInvite (data) {
    let req = {
      data,
      action: 'app.webchat.handlerAgentVideoOperation'
    }
    return send.fetch(req, 'post')
  },
  /**
   * 拒绝视频邀请
   * @param data
   * */
  rejectVideoInvite (data) {
    let req = {
      data,
      action: 'app.webchat.handlerAgentVideoOperation'
    }
    return send.fetch(req, 'post')
  },
  /**
   * 取消视频邀请
   * @param data
   * */
  cancelVideoInvite (data) {
    let req = {
      data,
      action: 'app.webchat.handlerAgentVideoOperation'
    }
    return send.fetch(req, 'post')
  },
  /**
   * 座席主动请求视频聊天
   * @param data
   * */
  requestVideoChat (data) {
    let req = {
      data,
      action: 'app.webchat.pushImVideoToCust'
    }
    return send.fetch(req, 'post')
  },
  /**
   * 获取当前座席是否存在正在视频会话数
   * @param data
   * */
  getAgentVedioRelation (data) {
    let req = {
      data,
      action: 'app.webchat.getAgentVedioRelation'
    }
    return send.fetch(req, 'post')
  },
  /**
   * 删除当前座席没有结束的视频会话
   * @param data
   * */
  remoAgentVedioRelation (data) {
    let req = {
      data,
      action: 'app.webchat.remoAgentVedioRelation'
    }
    return send.fetch(req, 'post')
  },
  /**
   * 查询视频回放播放地址
   * */
  queryVideoReplayUrl (data) {
    let req = {
      data,
      action: 'app.webchat.getVideoUrl'
    }
    return send.fetch(req, 'post')
  },
  /**
   * 登陆时查询未处理的视频请求
   * */
  queryVideoInvite (data) {
    let req = {
      data,
      action: 'app.webchat.getExistVideoRelation'
    }
    return send.fetch(req, 'post')
  },
  /**
   * 判断移动端是领取会话开关
   * @param {}
   */
  judgeMobileClient (data) {
    let req = {
      data,
      action: 'app.webchat.judgeMobileClient'
    }
    return send.fetch(req, 'post')
  },
  /**
   * 关闭移动端是领取会话开关
   * @param {closeMobile: flase}
   */
  closeMobileClaimWebchatSession (data) {
    let req = {
      data,
      action: 'app.webchat.closeMobileClaimWebchatSession'
    }
    return send.fetch(req, 'post')
  },
  /**
 * 关闭移动端是领取会话开关
 * @param {closeMobile: flase}
 */
  pcInitiativeLogout (data) {
    let req = {
      data,
      action: 'app.push.pcInitiativeLogout'
    }
    return send.fetch(req, 'post')
  },
  /**
   * 获取访客行为回放视频列表或者帧数
   * @param data
   */
  getClackInfo (data) {
    let req = {
      data
    }
    return send.fetchByClack(req)
  },
  /**
   * 获取当前时间和服务器时间的时间差
   * @param data
   */
  getServerTimeDiff (data) {
    let req = {
      data,
      action: 'app.webchat.getServerTimeDiff'
    }
    return send.fetch(req, 'post', true)
  },
  /**
   * 消息撤回
   * @param data
   */
  withdrawMessage (data) {
    let req = {
      data,
      action: 'app.webchat.withdrawMessage'
    }
    return send.fetch(req, 'post', true)
  },
  /**
   * 锁定会话
   * @param data
   */
  webchatLockSession (data) {
    let req = {
      data,
      action: 'app.webchat.lockSession'
    }
    return send.fetch(req, 'post', true)
  },
  /**
   * 解锁会话
   * @param data
   */
  webchatUnlockSession (data) {
    let req = {
      data,
      action: 'app.webchat.unlockSession'
    }
    return send.fetch(req, 'post', true)
  },
  /**
   * 坐席创建屏幕分享
   * @param data
   * */
  creatShareScreen (data) {
    let req = {
      data,
      action: 'app.webchat.pushScreenShareToCust'
    }
    return send.fetch(req, 'post')
  },
  /**
   * 坐席取消或结束屏幕分享
   * @param data
   * */
  finishShareScreen (data) {
    let req = {
      data,
      action: 'app.webchat.screenShareOperation'
    }
    return send.fetch(req, 'post')
  },
  /**
   * 坐席开始屏幕分享前更新状态
   * @param data
   * */
  changeStatusBeforeShare (data) {
    let req = {
      data,
      action: 'app.webchat.screenShareConfirmOperation'
    }
    return send.fetch(req, 'post')
  },
  /**
   * 快捷发送知识库内容时查询富文本信息
   * @param data
   * */
  getRichTextInfo (data) {
    let req = {
      data,
      action: 'app.webchat.getRichTextInfo'
    }
    return send.fetch(req, 'post')
  },
  /*
  * AI智能回答搜索
  * */
  searchM7AIRobot (data) {
    let req = {
      data,
      action: 'app.webchat.searchM7AIRobot'
    }
    return send.fetch(req, 'post')
  },
  /*
* xbot辅助坐席反馈
* */
  humanAssistAccept (data) {
    let req = {
      data,
      action: 'app.webchat.humanAssistAccept'
    }
    return send.fetch(req, 'post')
  },
  /*
  * xbot机器人纠错
  * */
  agentCorrect (data) {
    let req = {
      data,
      action: 'app.webchat.agentCorrect'
    }
    return send.fetch(req, 'post')
  },
  /*
  * 在线咨询座席主动发起会话
  * */
  initiatingWebchat (data) {
    let req = {
      data,
      action: 'app.webchat.initiatingWebchat'
    }
    return send.fetch(req, 'post')
  },
  /*
  * 在线咨询查询聊天tab顺序
  * */
  getChatTabConfig (data) {
    let req = {
      data,
      action: 'config.user.getChatTabConfig'
    }
    return send.fetch(req, 'post')
  },
  /*
  * 在线咨询查询聊天tab顺序
  * */
  updateChatTabConfig (data) {
    let req = {
      data,
      action: 'config.user.updateChatTabConfig'
    }
    return send.fetch(req, 'post')
  },
  /*
  * 在线咨询添加稍后处理标记
  * */
  markLaterProcess (data) {
    let req = {
      data,
      action: 'app.webchat.markLaterProcess'
    }
    return send.fetch(req, 'post')
  },
  /*
  * 在线咨询取消稍后处理标记
  * */
  removeLaterProcess (data) {
    let req = {
      data,
      action: 'app.webchat.removeLaterProcess'
    }
    return send.fetch(req, 'post')
  },
  /*
  * 在线咨询置顶会话OR取消置顶
  * */
  setSessionTop (data) {
    let req = {
      data,
      action: 'app.webchat.setTop'
    }
    return send.fetch(req, 'post')
  },
  voiceToText (data) {
    let req = {
      data,
      action: 'app.webchat.voiceToText'
    }
    return send.fetch(req, 'post')
  },
  getReadyFinish (data) {
    let req = {
      data,
      action: 'app.webchat.getReadyFinishConfig'
    }
    return send.fetch(req, 'post')
  },
  updateReadyFinish (data) {
    let req = {
      data,
      action: 'app.webchat.updateReadyFinishConfig'
    }
    return send.fetch(req, 'post')
  },
  updateWebchatSessionFinishKey (data) {    //  支持座席更新会话的结束标签
    let req = {
      data,
      action: 'app.webchat.updateWebchatSessionFinishKey'
    }
    return send.fetch(req, 'post')
  },
  /**
   * 获取在线咨询多域名列表
   * @param {String} data.page
   * @param {String} data.limit
   */
  getDomainList (data) {
    let req = {
      data,
      action: 'app.webchat.getDomainList'
    }
    return send.fetch(req, 'post', true)
  },
  /**
   * 添加在线咨询多域名
   * @param {String} data.page
   * @param {String} data.limit
   */
  addDomain (data) {
    let req = {
      data,
      action: 'app.webchat.addDomain'
    }
    return send.fetch(req, 'post', true)
  },
  /**
   * 更新在线咨询多域名
   * @param {String} data.page
   * @param {String} data.limit
   */
  updateDomain (data) {
    let req = {
      data,
      action: 'app.webchat.updateDomain'
    }
    return send.fetch(req, 'post', true)
  },
  /**
   * 删除在线咨询多域名
   * @param {String} data.page
   * @param {String} data.limit
   */
  delDomain (data) {
    let req = {
      data,
      action: 'app.webchat.delDomain'
    }
    return send.fetch(req, 'post', true)
  },
  dealImMsgFromUser (data) {
    let req = {
      data,
      action: 'app.webchat.dealImMsgFromUser'
    }
    return send.fetch(req, 'post')
  },
  // 添加表情包，数组，最多五个
  addAgentMeme (data) {
    let req = {
      data,
      action: 'app.webchat.addAgentMeme'
    }
    return send.fetch(req, 'post')
  },
  // 删除表情包，id数组,最多五个
  deleteAgentMeme (data) {
    let req = {
      data,
      action: 'app.webchat.deleteAgentMeme'
    }
    return send.fetch(req, 'post')
  },
  // 表情包查找
  getAgentMeme (data) {
    let req = {
      data,
      action: 'app.webchat.getAgentMeme'
    }
    return send.fetch(req, 'post')
  },
  // 上传线索
  updateSessionCue (data) {
    let req = {
      data,
      action: 'app.webchat.updateSessionCue'
    }
    return send.fetch(req, 'post')
  },
  // 主动提交质检
  commitCheckUp (data) {
    let req = {
      data,
      action: 'app.qualityCheck.applyQcWebchat'
    }
    return send.fetch(req, 'post')
  },
  // 主动撤回质检
  withDrawCheckUp (data) {
    let req = {
      data,
      action: 'app.qualityCheck.undoApplyQcWebchat'
    }
    return send.fetch(req, 'post')
  },
  // 主动撤回质检
  getWeixinVisitorInfoSendMsg (data) {
    let req = {
      data,
      action: 'app.webchat.getWeixinVisitorInfoSendMsg'
    }
    return send.fetch(req, 'post')
  }
}
